package com.steel.yfmall.cloud.assistant.view;

import com.steel.yfmall.cloud.assistant.dto.para.view.ParaReachRegionBean;
import com.steel.yfmall.cloud.assistant.dto.zg.ZgViewBean;
import com.steel.yfmall.cloud.assistant.po.view.ReachRegionBean;
import com.steel.yfmall.cloud.components.utils.base.APIMsgBean;
import com.steel.yfmall.cloud.components.utils.base.Pages;

import java.util.List;

/**
 * 终到地区业务逻辑处理类 主要包含终到地区代码、终到地区名称内容
 *
 * @author jia chang bao
 * @date 2020/11/5 9:39
 */
public interface ReachRegionBeanService {
    /**
     * @param reachRegionBean 终到地区业务条件
     * @return int 总条数
     * @Description 获取终到地区表总条数, 可以有条件或无条件
     * @author jia chang bao
     * @date 2020/11/5 9:42
     */
    long getReachRegionCount(ParaReachRegionBean reachRegionBean);

    /**
     * @param paraReachRegionBean 终到地区业务条件
     * @return List<ReachRegionBean> 分页结果集合
     * @Description 根据条件分页查询终到地区信息（分页）
     * @author jia chang bao
     * @date 2020/11/5 9:53
     */
    Pages<ReachRegionBean> getReachRegionCountOfPage(ParaReachRegionBean paraReachRegionBean);

    /**
     * @param paraReachRegionBean 终到地区业务条件
     * @return List<ReachRegionBean> 不分页结果集合
     * @Description 根据条件不分页查询终到地区信息（不分页）
     * @author jia chang bao
     * @date 2020/11/5 9:55
     */
    List<ReachRegionBean> getReachRegionCountOfList(ParaReachRegionBean paraReachRegionBean);

    /**
     * @param reachRegionBean 终到地区业务条件
     * @return int 受影响行数
     * @Description 批量新增终到地区信息（多条新增）
     * @author jia chang bao
     * @date 2020/11/5 10:02
     */
    int addReachRegionCountOfList(List<ReachRegionBean> reachRegionBean);

    /**
     * @param reachRegionBean 终到地区业务条件
     * @return int 受影响行数
     * @Description 根据条件修改终到地区信息
     * @author jia chang bao
     * @date 2020/11/5 10:12
     */
    int updateReachRegion(ReachRegionBean reachRegionBean);

    /**
     * @param reachRegionBean 终到地区业务条件
     * @return int 受影响行数
     * @Description 根据条件删除终到地区信息
     * @author jia chang bao
     * @date 2020/11/5 10:13
     */
    int deleteReachRegion(ParaReachRegionBean reachRegionBean);

    /**
     * @param paraReachRegionBean 终到地区业务条件
     * @return int 受影响行数
     * @Description 批量删除终到地区信息
     * @author jia chang bao
     * @date 2020/11/5 17:09
     */
    int deleteReachRegionOfList(List<ParaReachRegionBean> paraReachRegionBean);

    /**
     * @return 同步成功信息数据
     * @Description 同步中冠终到地区信息
     * @author jia chang bao
     * @date 2020/11/5 15:28
     * @param zgViewBean
     */
    APIMsgBean synchronizationZgReachRegion(ZgViewBean zgViewBean);
}
